home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 2003 September / PC Answers September 2003.iso / Software / freeware / pixeltoolbox / Setup.exe / Main / PixelToolbox.exe / PixelToolbox.dxr / Scripts_17_mouse script - pattern functions.ls < prev    next >
Encoding:
Text File  |  2002-06-08  |  2.9 KB  |  111 lines

  1. property pMySprite, pMyMember, pMyMember2, pMyMember3
  2. global gSize, gCast, myCurrentImage, myCurrentPreview
  3.  
  4. on beginSprite me
  5.   pMySprite = sprite(me.spriteNum)
  6.   pMyMember = pMySprite.memberNum
  7.   pMyMember2 = pMyMember - 1
  8.   pMyMember3 = pMyMember + 1
  9. end
  10.  
  11. on mouseEnter me
  12.   set the memberNum of sprite pMySprite to pMyMember3
  13.   case the currentSpriteNum of
  14.     "62":
  15.       put "Click to invert the current pattern." into field "status"
  16.     "63":
  17.       put "Click to create a random pattern." into field "status"
  18.   end case
  19. end
  20.  
  21. on mouseLeave me
  22.   set the memberNum of sprite pMySprite to pMyMember
  23.   put EMPTY into field "status"
  24. end
  25.  
  26. on mouseDown me
  27.   repeat while the mouseDown
  28.     set the memberNum of sprite pMySprite to pMyMember2
  29.     updateStage()
  30.   end repeat
  31. end
  32.  
  33. on mouseUp me
  34.   set the memberNum of sprite pMySprite to pMyMember3
  35.   case the currentSpriteNum of
  36.     "62":
  37.       oneBitInvert()
  38.     "63":
  39.       oneBitRandomize()
  40.   end case
  41. end
  42.  
  43. on oneBitRandomize
  44.   cursor(4)
  45.   if sprite(1).pUndoTrigger = 0 then
  46.     sprite(1).pUndoTrigger = 1
  47.   end if
  48.   member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  49.   myCurrentImage = duplicate(member("8x8").image)
  50.   myCurrentPreview = duplicate(member("preview", gCast).image)
  51.   X = 0
  52.   Y = 0
  53.   repeat while Y < 9
  54.     repeat while X < 9
  55.       randomPatternNum = random(1, 2)
  56.       if randomPatternNum = 1 then
  57.         myCurrentImage.setPixel(X, Y, paletteIndex(255))
  58.       else
  59.         myCurrentImage.setPixel(X, Y, paletteIndex(0))
  60.       end if
  61.       X = X + 1
  62.     end repeat
  63.     X = 0
  64.     Y = Y + 1
  65.   end repeat
  66.   member("8x8").image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  67.   updateStage()
  68.   fnUpdatePreview()
  69.   sprite(35).pState = 0
  70.   sendSprite(35, #setMember)
  71.   member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  72.   myCurrentImage = VOID
  73.   myCurrentPreview = VOID
  74.   cursor(0)
  75. end
  76.  
  77. on oneBitInvert
  78.   cursor(4)
  79.   if sprite(1).pUndoTrigger = 0 then
  80.     sprite(1).pUndoTrigger = 1
  81.   end if
  82.   member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  83.   myCurrentImage = duplicate(member("8x8").image)
  84.   myCurrentPreview = duplicate(member("preview", gCast).image)
  85.   X = 0
  86.   Y = 0
  87.   repeat while Y < 9
  88.     repeat while X < 9
  89.       if myCurrentImage.getPixel(X, Y) = paletteIndex(255) then
  90.         myCurrentImage.setPixel(X, Y, paletteIndex(0))
  91.       else
  92.         if myCurrentImage.getPixel(X, Y) = paletteIndex(0) then
  93.           myCurrentImage.setPixel(X, Y, paletteIndex(255))
  94.         end if
  95.       end if
  96.       X = X + 1
  97.     end repeat
  98.     X = 0
  99.     Y = Y + 1
  100.   end repeat
  101.   member("8x8").image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  102.   updateStage()
  103.   fnUpdatePreview()
  104.   sprite(35).pState = 0
  105.   sendSprite(35, #setMember)
  106.   member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  107.   myCurrentImage = VOID
  108.   myCurrentPreview = VOID
  109.   cursor(0)
  110. end
  111.